#!/bin/bash
# 日志函数
log() {
    echo "$(date +'%Y-%m-%d %H:%M:%S') - $1"
}
# 获取目标路径的父目录，以 "Documents/" 为截断点
get_documents_parent_directory() {
    local input_path=$1
    # 提取直到 "Documents/" 的部分
    local result_path="${input_path%%/Documents/*}/Documents"
    echo "$result_path"
}
# 初始化脚本
init_ops() {
  local current_dir
  current_dir=$(pwd)
  parent_directory=$(get_documents_parent_directory "$current_dir")
   # 获取当前工作目录的完整路径
  #提示用户确认或输入目录
  ops_directory="$parent_directory/ops"
  ops_file_path="$ops_directory/ops_global.properties"
  of write_config "ops_path" "$ops_directory" "$ops_file_path"
  user=$(echo "$current_dir" | awk -F'/meili/' '{if (NF > 1) print $2}' | awk -F'/' '{print $1}')
  echo "检测到当前dacs域账号：$user 脚本将使用该用户进行拉取项目"
  of write_config "ops_user" "$user" "$ops_file_path"
  code_path="$ops_directory/ops/code"
   # 提示用户确认或输入目录
  echo "检测到默认目录：$code_path"
  echo "是否使用该目录？按回车键确认，或输入新的目录："
  # 读取用户输入
  read -r user_input
  # 如果用户直接回车，则使用默认目录
  if [ -z "$user_input" ]; then
      echo "已选择默认目录：$code_path"
      chosen_dir="$code_path"
  else
      # 用户输入新的目录
      echo "已选择自定义目录：$user_input"
      chosen_dir="$user_input"
  fi
  # 输出最终选择的目录
  echo "最终选择的目录为：$chosen_dir"
  if [ ! -d "$chosen_dir" ]; then
      echo "目录 $chosen_dir 不存在，正在创建..."
      mkdir -p "$chosen_dir"
  fi
  of write_config "code_path" "$chosen_dir" "$ops_file_path"
}

main() {
    log "初始化..."
    init_ops
    log "脚本执行完毕。"
}

main "$@"